package com.example.qxfw.common.dmgis.edit;

import com.dmgis.common.Dt;
import com.dmgis.common.TInf;
import com.dmgis.work.TextWork;
import com.dmgis.work.VecWorkShop;
import com.example.qxfw.common.dmgis.vo.TextVo;

import java.util.List;

public class TextEdit {

    /**
     * 修改文本内容
     * @param textPath 文本路径
     * @param index    文本索引
     * @param content  文本内容
     */
    public static void updateTextContent(String textPath,int index,String content){
        VecWorkShop vecWorkShop = new VecWorkShop();
        short ai = vecWorkShop.OpenTextWork(textPath);
        TextWork textWork=(TextWork)vecWorkShop.GetWorkByNo(ai);
        textWork.UpdateObjText(index,content);
        textWork.SaveWork();
        vecWorkShop.delete();
    }

    /**
     * 修改文本内容
     * @param index    文本索引
     * @param content  文本内容
     */
    public static void updateTextContent(TextWork textWork,int index,String content){
        textWork.UpdateObjText(index,content);
        textWork.SaveWork();
    }

    /**
     *  生成新文本并批量添加文本实体
     * @param textPath  文本路径
     * @param textVos   文本实体列表
     * @param info      文本参数
     */
    public static void batchAddObj(String textPath, List<TextVo> textVos,TInf info){
        if (textVos!=null){
            VecWorkShop vecWorkShop = new VecWorkShop();
            short ai = vecWorkShop.CreateTextWork(textPath);
            TextWork textWork=(TextWork)vecWorkShop.GetWorkByNo(ai);
            Dt dt = new Dt();
            textVos.forEach(item->{
                dt.SetX(item.getX());
                dt.SetY(item.getY());
                textWork.AddObj(item.getContent(),dt,info);
            });
            dt.Delete();
            textWork.SaveWork();
            vecWorkShop.delete();
        }
    }
}
